﻿(function (wtm) {
    wtm.radio_Render = function (para) {

        if (para.beforeMount.length > 0) {
            eval(para.beforeMount + '(para);');
        }

        //预处理url
        para.url = wtm.getUrl(para.url);

        //从网络加载
        if (para.url.length > 0) {
            $.get(para.url, function (resp) {
                para.data = resp.Data;
                wtm.radio_SetRadioValue(para);
            });
        }
        else {
            wtm.radio_SetRadioValue(para);
        }

        //自定义处理点击事件，不使用layui的
        var $el = $('#' + para.id);
        $el.parent().on('click', 'div.layui-form-radio', function () {
            var val = $(this).prev().val();
            $el.val(val);

            if (para.changeFunc.length > 0) {
                var obj = {
                    $el: $el,
                    value: val
                };

                eval(para.changeFunc + "(obj);");
            }
        });

        if (para.mounted.length > 0) {
            eval(para.mounted + '(para);');
        }
    };

    wtm.radio_SetRadioValue = function (para) {
        var $el = $('#' + para.id);
        data = para.data;

        //空值处理
        if (para.value == '') {
            $('#null' + para.id).attr('checked', true);
        }

        for (var i = 0; i < data.length; i++) {
            var $input = $('<input/>')

            //设定初始值
            if (para.value == data[i][para.valueKey]) {
                $input.attr('checked', true);
                $el.val(data[i][para.valueKey]);
            }

            $input.attr({
                name: para.fieldName,
                type: 'radio',
                value: data[i][para.valueKey],
                title: data[i][para.textKey]
            });

            if (data[i].Disabled == 'True') {
                $input.attr('disabled', true);
            }
            if (data[i].Checked == 'True') {
                $input.attr('checked', true);
            }
            $el.parent().append($input);
        }
    };
})(wtm);